package com.gel.codegeneration.service;

import com.gel.codegeneration.model.dto.req.app.AppAddRequest;
import com.gel.codegeneration.model.dto.req.app.AppQueryRequest;
import com.gel.codegeneration.model.dto.resp.app.AppVO;
import com.gel.codegeneration.model.entity.User;
import com.mybatisflex.core.query.QueryWrapper;
import com.mybatisflex.core.service.IService;
import com.gel.codegeneration.model.entity.App;
import reactor.core.publisher.Flux;

import java.util.List;

/**
 * 应用 服务层。
 *
 * @author <a>gel</a>
 */
public interface AppService extends IService<App> {
    Long createApp(AppAddRequest appAddRequest, User loginUser);

    AppVO getAppVO(App  app);

    QueryWrapper getQueryWrapper(AppQueryRequest appQueryRequest);
    List<AppVO> getListAppVO(List< App> appList);

    Flux<String> chatToGenCode(Long appId, String userMessage, User loginUser);

    // 部署(返回Url)
    String deploy (Long appId,User loginUser);
}
